using System;
using System.Collections.Generic;
using System.Text;
using Sinacor.UI.Bovespa.Ordens.Model.Enum;
using Sinacor.Infra.UI.Common;

namespace  Sinacor.UI.Bovespa.Ordens.Model
{
    public class ModelTitulo //renomedo de ModelTitulos para ModelTitulo - esertorio - 200803202033 - ref issue ID0001213
    {
        private string _codigo;
        private string _isin;
        private string _empresa;

        private EnumWrapper<TipoMercado> _mercado; /// 19/02/2008 - alterado - diogo milanez

        /// Data:18/02/2008 18:29
        /// Autor:DMilanez.7Comm
        /// Obs: Alterado para aceitar nulo
        private DateTime? _dataPregao;
        private string _especificacao;
        private string _descricao;

        //20080412 14:51 - Removido - utilizar FatorCotacao - DMilanez.7Comm
        //private decimal _fatorvalorizavcao;

        //20080403 18:55 - Alterado para ser anulavel- DMilanez.7Comm
        private int? _diasliquidacao;

        //20080403 18:55 - Alterado para ser anulavel- DMilanez.7Comm
        private DateTime? _inicioNegociacao;
        private decimal? _cotacaoTitulo; //incluido - esertorio - 200803251140 - ref issue ID0001485
        private DateTime? _dataVencimentoTermo; //incluido - esertorio - 200803251140 - ref issue ID0001485
        private int? _distribuicao; //incluido - esertorio - 200803251140 - ref issue ID0001485
        //20080412 14:39 - Alterado para ser anulavel- DMilanez.7Comm
        private int? _fatorCotacao; //incluido - esertorio - 200803251140 - ref issue ID0001485
        private decimal? _precoExercido; //incluido - esertorio - 200803251140 - ref issue ID0001485


        #region Propriedades
        public string Codigo
        {
            get { return _codigo; }
            set { _codigo = value; }
        }

        public string Isin
        {
            get { return _isin; }
            set { _isin = value; }
        }

        public string Empresa
        {
            get { return _empresa; }
            set { _empresa = value; }
        }

        /// Data:18/02/2008 18:29
        /// Autor:DMilanez.7Comm
        /// Obs: Alterado para aceitar nulo
        /// Tipo alterado
        public EnumWrapper<TipoMercado> Mercado
        {
            get { return _mercado; }
            set { _mercado = value; }
        }

        /// Data:18/02/2008 18:29
        /// Autor:DMilanez.7Comm
        /// Obs: Alterado para aceitar nulo
        public DateTime? DataPregao
        {
            get { return _dataPregao; }
            set { _dataPregao = value; }
        }

        public string Especificacao
        {
            get { return _especificacao; }
            set { _especificacao = value; }
        }

        public string Descricao
        {
            get { return _descricao; }
            set { _descricao = value; }
        }

        //20080412 14:51 - Removido - utilizar FatorCotacao - DMilanez.7Comm
        //public decimal FatorValorizacao
        //{
        //    get { return _fatorvalorizavcao; }
        //    set { _fatorvalorizavcao = value; }
        //}

        //20080403 18:55 - Alterado para ser anulavel- DMilanez.7Comm
        public int? DiasLiquidacao
        {
            get { return _diasliquidacao; }
            set { _diasliquidacao = value; }
        }

        //20080403 18:55 - Alterado para ser anulavel- DMilanez.7Comm
        public DateTime? InicioNegociacao
        {
            get { return _inicioNegociacao; }
            set { _inicioNegociacao = value; }
        }

        public decimal? CotacaoTitulo //incluido - esertorio - 200803251140 - ref issue ID0001485
        {
            get { return _cotacaoTitulo; }
            set { _cotacaoTitulo = value; }
        }

        public DateTime? DataVencimentoTermo //incluido - esertorio - 200803251140 - ref issue ID0001485
        {
            get { return _dataVencimentoTermo; }
            set { _dataVencimentoTermo = value; }
        }

        public int? Distribuicao //incluido - esertorio - 200803251140 - ref issue ID0001485
        {
            get { return _distribuicao; }
            set { _distribuicao = value; }
        }

        //20080412 14:39 - Alterado para ser anulavel- DMilanez.7Comm
        public int? FatorCotacao //incluido - esertorio - 200803251140 - ref issue ID0001485
        {
            get { return _fatorCotacao; }
            set { _fatorCotacao = value; }
        }

        public decimal? PrecoExercido //incluido - esertorio - 200803251140 - ref issue ID0001485
        {
            get { return _precoExercido; }
            set { _precoExercido = value; }
        }

        #endregion

        //20080413 11:13 - Incluido - DMilanez.7Comm
        private string _tituloObjetoOpcoes;
        public string TituloObjetoOpcoes
        {
            get { return _tituloObjetoOpcoes; }
            set { _tituloObjetoOpcoes = value; }
        }
    }
}